// UserAnswerRecord.java
package com.exam.api.modules.exampaper.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.exam.api.common.baseModule.domain.BaseDomain;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

@EqualsAndHashCode(callSuper = true)
@Data
@TableName("tbl_user_answer_record")
@Schema(description = "用户答题记录表")
public class TblUserAnswerRecord extends BaseDomain {

    /**
     * 外键：关联试卷表 tbl_exam_paper.id
     */
    @TableField("paper_id")
    @Schema(description = "外键：关联试卷表 tbl_exam_paper.id")
    private Long paperId;

    /**
     * 外键：考生用户ID
     */
    @TableField("user_id")
    @Schema(description = "外键：考生用户ID")
    private Long userId;

    /**
     * 外键：题目在试卷中的ID（对应 tbl_exam_paper_question.id）
     */
    @TableField("question_id")
    @Schema(description = "外键：题目在试卷中的ID（对应 tbl_exam_paper_question.id）")
    private Long questionId;

    /**
     * 用户作答内容：客观题如"A,B"；主观题为文本答案
     */
    @TableField("answer_content")
    @Schema(description = "用户作答内容：客观题如\"A,B\"；主观题为文本答案")
    private String answerContent;
    private String fileUrl;

    /**
     * 本题得分（可为0~满分，null表示未批改）
     */
    @TableField("score")
    @Schema(description = "本题得分（可为0~满分，null表示未批改）")
    private BigDecimal score;

    /**
     * 评析/反馈意见，由系统或老师填写
     */
    @TableField("feedback_comment")
    @Schema(description = "评析/反馈意见，由系统或老师填写")
    private String feedbackComment;
}
